package com.emerquim.persistence.dao;

/**
 * Clase para guardar los datos para el transporte de los tipos de eventos tecnologicos
 * @author Felipe Criales
 */
public class Transporte {

	// -------------------------------------------------------
	// Atributos
	// -------------------------------------------------------
	private long tra_id;
	private EventoTecnologico eventoTecnologico;
	private String empresaRemitente;
	private String telefonoEmpresaRemitente;
	private String empresaDestino;
	private String telefonoEmpresaDestino;
	private String empresaTransporte;
	private String telefonoEmpresaTransporte;
	private String nombreConductor;
	private String telefonoConductor;
	private int claseVehiculo;
	private String placa;
	private String origenViaje;
	private String destinoViaje;
	private String ruta;
	private String distanciaReferenciaDesde;
	private String hasta;
	private int tipoEmpaque;
	private String capacidad;
	private String tipoVentilacion;
	private String otrosProductosAlmacenados;
	private String temperatura;
	private String lluvias;
	private int tipoLluvias;
	private String vientos;
	private String direccionViento;
	private String granizado;
	private String neblina;
	private String otrasCondicionesAtmosfericas;
	private boolean lluviasBool;
	private boolean vientosBool;
	private boolean granizadoBool;
	private boolean neblinaBool;
	
	/**
	 * Constructor sin parametros
	 */
	public Transporte() {
		this.inicializarDatos();
	}
	
	public void inicializarDatos(){
		this.setLluviasBool(false);
		this.setVientosBool(false);
		this.setNeblinaBool(false);
		this.setGranizadoBool(false);
	}
	
	/**
	 * Constructor con parametros
	 * @param empresaRemitente
	 * @param telefonoEmpresaRemitente
	 * @param empresaDestino
	 * @param telefonoEmpresaDestino
	 * @param empresaTransporte
	 * @param telefonoEmpresaTransporte
	 * @param nombreConductor
	 * @param telefonoConductor
	 * @param claseVehiculo
	 * @param placa
	 * @param origenViaje
	 * @param destinoViaje
	 * @param ruta
	 * @param distanciaReferenciaDesde
	 * @param hasta
	 * @param tipoEmpaque
	 * @param capacidad
	 * @param tipoVentilacion
	 * @param otrosProductosAlamcenados
	 * @param temperatura
	 * @param lluvias
	 * @param tipoLluvias
	 * @param vientos
	 * @param direccionViento
	 * @param granizado
	 * @param neblina
	 * @param otrasCondicionesAtmosfericas
	 */
	public Transporte(long tra_id, EventoTecnologico eventoTecnologico, String empresaRemitente, String telefonoEmpresaRemitente,
			String empresaDestino, String telefonoEmpresaDestino,
			String empresaTransporte, String telefonoEmpresaTransporte,
			String nombreConductor, String telefonoConductor,
			int claseVehiculo, String placa, String origenViaje,
			String destinoViaje, String ruta, String distanciaReferenciaDesde,
			String hasta, int tipoEmpaque, String capacidad,
			String tipoVentilacion, String otrosProductosAlamcenados,
			String temperatura, String lluvias, int tipoLluvias,
			String vientos, String direccionViento, String granizado,
			String neblina, String otrasCondicionesAtmosfericas) {
		super();
		this.tra_id = tra_id;
		this.eventoTecnologico = eventoTecnologico;
		this.empresaRemitente = empresaRemitente;
		this.telefonoEmpresaRemitente = telefonoEmpresaRemitente;
		this.empresaDestino = empresaDestino;
		this.telefonoEmpresaDestino = telefonoEmpresaDestino;
		this.empresaTransporte = empresaTransporte;
		this.telefonoEmpresaTransporte = telefonoEmpresaTransporte;
		this.nombreConductor = nombreConductor;
		this.telefonoConductor = telefonoConductor;
		this.claseVehiculo = claseVehiculo;
		this.placa = placa;
		this.origenViaje = origenViaje;
		this.destinoViaje = destinoViaje;
		this.ruta = ruta;
		this.distanciaReferenciaDesde = distanciaReferenciaDesde;
		this.hasta = hasta;
		this.tipoEmpaque = tipoEmpaque;
		this.capacidad = capacidad;
		this.tipoVentilacion = tipoVentilacion;
		this.otrosProductosAlmacenados = otrosProductosAlamcenados;
		this.temperatura = temperatura;
		this.lluvias = lluvias;
		this.tipoLluvias = tipoLluvias;
		this.vientos = vientos;
		this.direccionViento = direccionViento;
		this.granizado = granizado;
		this.neblina = neblina;
		this.otrasCondicionesAtmosfericas = otrasCondicionesAtmosfericas;
	}
	
	/**
	 * Metodo para cargar los datos del transporte de base de datos
	 * @param nuevo El transporte de base de datos
	 */
	public void cargarDatosTransporte(Transporte nuevo){
		this.empresaRemitente = nuevo.getEmpresaRemitente();
		this.telefonoEmpresaRemitente = nuevo.getTelefonoEmpresaRemitente();
		this.empresaDestino = nuevo.getEmpresaDestino();
		this.telefonoEmpresaDestino = nuevo.getTelefonoEmpresaDestino();
		this.empresaTransporte = nuevo.getEmpresaTransporte();
		this.telefonoEmpresaTransporte = nuevo.getTelefonoEmpresaTransporte();
		this.nombreConductor = nuevo.getNombreConductor();
		this.telefonoConductor = nuevo.getTelefonoConductor();
		this.claseVehiculo = nuevo.getClaseVehiculo();
		this.placa = nuevo.getPlaca();
		this.origenViaje = nuevo.getOrigenViaje();
		this.destinoViaje = nuevo.getDestinoViaje();
		this.ruta = nuevo.getRuta();
		this.distanciaReferenciaDesde = nuevo.getDistanciaReferenciaDesde();
		this.hasta = nuevo.getHasta();
		this.tipoEmpaque = nuevo.getTipoEmpaque();
		this.capacidad = nuevo.getCapacidad();
		this.tipoVentilacion = nuevo.getTipoVentilacion();
		this.otrosProductosAlmacenados = nuevo.getOtrosProductosAlmacenados();
		this.temperatura = nuevo.getTemperatura();
		this.setLluvias(nuevo.getLluvias());
		this.tipoLluvias = nuevo.getTipoLluvias();
		this.setVientos(nuevo.getVientos());
		this.direccionViento = nuevo.getDireccionViento();
		this.setGranizado(nuevo.getGranizado());
		this.setNeblina(nuevo.getNeblina());
		this.otrasCondicionesAtmosfericas = nuevo.getOtrasCondicionesAtmosfericas();
	}	
	
	/**
	 * @return the tec_id
	 */
	public long getTra_id() {
		return tra_id;
	}

	/**
	 * @param tec_id the tec_id to set
	 */
	public void setTra_id(long tra_id) {
		this.tra_id = tra_id;
	}

	/**
	 * @return the eventoTecnologico
	 */
	public EventoTecnologico getEventoTecnologico() {
		return eventoTecnologico;
	}

	/**
	 * @param eventoTecnologico the eventoTecnologico to set
	 */
	public void setEventoTecnologico(EventoTecnologico eventoTecnologico) {
		this.eventoTecnologico = eventoTecnologico;
	}

	/**
	 * @return the empresaRemitente
	 */
	public String getEmpresaRemitente() {
		return empresaRemitente;
	}

	/**
	 * @param empresaRemitente the empresaRemitente to set
	 */
	public void setEmpresaRemitente(String empresaRemitente) {
		this.empresaRemitente = empresaRemitente;
	}

	/**
	 * @return the telefonoEmpresaRemitente
	 */
	public String getTelefonoEmpresaRemitente() {
		return telefonoEmpresaRemitente;
	}

	/**
	 * @param telefonoEmpresaRemitente the telefonoEmpresaRemitente to set
	 */
	public void setTelefonoEmpresaRemitente(String telefonoEmpresaRemitente) {
		this.telefonoEmpresaRemitente = telefonoEmpresaRemitente;
	}

	/**
	 * @return the empresaDestino
	 */
	public String getEmpresaDestino() {
		return empresaDestino;
	}

	/**
	 * @param empresaDestino the empresaDestino to set
	 */
	public void setEmpresaDestino(String empresaDestino) {
		this.empresaDestino = empresaDestino;
	}

	/**
	 * @return the telefonoEmpresaDestino
	 */
	public String getTelefonoEmpresaDestino() {
		return telefonoEmpresaDestino;
	}

	/**
	 * @param telefonoEmpresaDestino the telefonoEmpresaDestino to set
	 */
	public void setTelefonoEmpresaDestino(String telefonoEmpresaDestino) {
		this.telefonoEmpresaDestino = telefonoEmpresaDestino;
	}

	/**
	 * @return the empresaTransporte
	 */
	public String getEmpresaTransporte() {
		return empresaTransporte;
	}

	/**
	 * @param empresaTransporte the empresaTransporte to set
	 */
	public void setEmpresaTransporte(String empresaTransporte) {
		this.empresaTransporte = empresaTransporte;
	}

	/**
	 * @return the telefonoEmpresaTransporte
	 */
	public String getTelefonoEmpresaTransporte() {
		return telefonoEmpresaTransporte;
	}

	/**
	 * @param telefonoEmpresaTransporte the telefonoEmpresaTransporte to set
	 */
	public void setTelefonoEmpresaTransporte(String telefonoEmpresaTransporte) {
		this.telefonoEmpresaTransporte = telefonoEmpresaTransporte;
	}

	/**
	 * @return the nombreConductor
	 */
	public String getNombreConductor() {
		return nombreConductor;
	}

	/**
	 * @param nombreConductor the nombreConductor to set
	 */
	public void setNombreConductor(String nombreConductor) {
		this.nombreConductor = nombreConductor;
	}

	/**
	 * @return the telefonoConductor
	 */
	public String getTelefonoConductor() {
		return telefonoConductor;
	}

	/**
	 * @param telefonoConductor the telefonoConductor to set
	 */
	public void setTelefonoConductor(String telefonoConductor) {
		this.telefonoConductor = telefonoConductor;
	}

	/**
	 * @return the claseVehiculo
	 */
	public int getClaseVehiculo() {
		return claseVehiculo;
	}

	/**
	 * @param claseVehiculo the claseVehiculo to set
	 */
	public void setClaseVehiculo(int claseVehiculo) {
		this.claseVehiculo = claseVehiculo;
	}

	/**
	 * @return the placa
	 */
	public String getPlaca() {
		return placa;
	}

	/**
	 * @param placa the placa to set
	 */
	public void setPlaca(String placa) {
		this.placa = placa;
	}

	/**
	 * @return the origenViaje
	 */
	public String getOrigenViaje() {
		return origenViaje;
	}

	/**
	 * @param origenViaje the origenViaje to set
	 */
	public void setOrigenViaje(String origenViaje) {
		this.origenViaje = origenViaje;
	}

	/**
	 * @return the destinoViaje
	 */
	public String getDestinoViaje() {
		return destinoViaje;
	}

	/**
	 * @param destinoViaje the destinoViaje to set
	 */
	public void setDestinoViaje(String destinoViaje) {
		this.destinoViaje = destinoViaje;
	}

	/**
	 * @return the ruta
	 */
	public String getRuta() {
		return ruta;
	}

	/**
	 * @param ruta the ruta to set
	 */
	public void setRuta(String ruta) {
		this.ruta = ruta;
	}

	/**
	 * @return the distanciaReferenciaDesde
	 */
	public String getDistanciaReferenciaDesde() {
		return distanciaReferenciaDesde;
	}

	/**
	 * @param distanciaReferenciaDesde the distanciaReferenciaDesde to set
	 */
	public void setDistanciaReferenciaDesde(String distanciaReferenciaDesde) {
		this.distanciaReferenciaDesde = distanciaReferenciaDesde;
	}

	/**
	 * @return the hasta
	 */
	public String getHasta() {
		return hasta;
	}

	/**
	 * @param hasta the hasta to set
	 */
	public void setHasta(String hasta) {
		this.hasta = hasta;
	}

	/**
	 * @return the tipoEmpaque
	 */
	public int getTipoEmpaque() {
		return tipoEmpaque;
	}

	/**
	 * @param tipoEmpaque the tipoEmpaque to set
	 */
	public void setTipoEmpaque(int tipoEmpaque) {
		this.tipoEmpaque = tipoEmpaque;
	}

	/**
	 * @return the capacidad
	 */
	public String getCapacidad() {
		return capacidad;
	}

	/**
	 * @param capacidad the capacidad to set
	 */
	public void setCapacidad(String capacidad) {
		this.capacidad = capacidad;
	}

	/**
	 * @return the tipoVentilacion
	 */
	public String getTipoVentilacion() {
		return tipoVentilacion;
	}

	/**
	 * @param tipoVentilacion the tipoVentilacion to set
	 */
	public void setTipoVentilacion(String tipoVentilacion) {
		this.tipoVentilacion = tipoVentilacion;
	}

	/**
	 * @return the otrosProductosAlamcenados
	 */
	public String getOtrosProductosAlmacenados() {
		return otrosProductosAlmacenados;
	}

	/**
	 * @param otrosProductosAlamcenados the otrosProductosAlamcenados to set
	 */
	public void setOtrosProductosAlmacenados(String otrosProductosAlmacenados) {
		this.otrosProductosAlmacenados = otrosProductosAlmacenados;
	}

	/**
	 * @return the temperatura
	 */
	public String getTemperatura() {
		return temperatura;
	}

	/**
	 * @param temperatura the temperatura to set
	 */
	public void setTemperatura(String temperatura) {
		this.temperatura = temperatura;
	}

	/**
	 * @return the lluvias
	 */
	public String getLluvias() {
		return lluvias;
	}

	/**
	 * @param lluvias the lluvias to set
	 */
	public void setLluvias(String lluvias) {
		this.lluvias = lluvias;
		if(this.lluvias.equals("S"))
			this.neblinaBool = true;
		else
			this.neblinaBool = false;
	}

	/**
	 * @return the tipoLluvias
	 */
	public int getTipoLluvias() {
		return tipoLluvias;
	}

	/**
	 * @param tipoLluvias the tipoLluvias to set
	 */
	public void setTipoLluvias(int tipoLluvias) {
		this.tipoLluvias = tipoLluvias;
	}

	/**
	 * @return the vientos
	 */
	public String getVientos() {
		return vientos;
	}

	/**
	 * @param vientos the vientos to set
	 */
	public void setVientos(String vientos) {
		this.vientos = vientos;
		if(this.vientos.equals("S"))
			this.vientosBool = true;
		else
			this.vientosBool = false;
	}

	/**
	 * @return the direccionViento
	 */
	public String getDireccionViento() {
		return direccionViento;
	}

	/**
	 * @param direccionViento the direccionViento to set
	 */
	public void setDireccionViento(String direccionViento) {
		this.direccionViento = direccionViento;
	}

	/**
	 * @return the granizado
	 */
	public String getGranizado() {
		return granizado;
	}

	/**
	 * @param granizado the granizado to set
	 */
	public void setGranizado(String granizado) {
		this.granizado = granizado;
		if(this.granizado.equals("S"))
			this.granizadoBool = true;
		else
			this.granizadoBool = false;
	}

	/**
	 * @return the neblina
	 */
	public String getNeblina() {
		return neblina;
	}

	/**
	 * @param neblina the neblina to set
	 */
	public void setNeblina(String neblina) {
		this.neblina = neblina;
		if(this.neblina.equals("S"))
			this.neblinaBool = true;
		else
			this.neblinaBool = false;
	}

	/**
	 * @return the otrasCondicionesAtmosfericas
	 */
	public String getOtrasCondicionesAtmosfericas() {
		return otrasCondicionesAtmosfericas;
	}

	/**
	 * @param otrasCondicionesAtmosfericas the otrasCondicionesAtmosfericas to set
	 */
	public void setOtrasCondicionesAtmosfericas(String otrasCondicionesAtmosfericas) {
		this.otrasCondicionesAtmosfericas = otrasCondicionesAtmosfericas;
	}

	/**
	 * @return the lluviasBool
	 */
	public boolean isLluviasBool() {
		return lluviasBool;
	}

	/**
	 * @param lluviasBool the lluviasBool to set
	 */
	public void setLluviasBool(boolean lluviasBool) {
		this.lluviasBool = lluviasBool;
		if(this.lluviasBool)
			this.lluvias = "S";
		else
			this.lluvias = "N";
	}

	/**
	 * @return the vientosBool
	 */
	public boolean isVientosBool() {
		return vientosBool;
	}

	/**
	 * @param vientosBool the vientosBool to set
	 */
	public void setVientosBool(boolean vientosBool) {
		this.vientosBool = vientosBool;
		if(this.vientosBool)
			this.vientos = "S";
		else
			this.vientos = "N";
	}

	/**
	 * @return the granizadoBool
	 */
	public boolean isGranizadoBool() {
		return granizadoBool;
	}

	/**
	 * @param granizadoBool the granizadoBool to set
	 */
	public void setGranizadoBool(boolean granizadoBool) {
		this.granizadoBool = granizadoBool;
		if(this.granizadoBool)
			this.granizado = "S";
		else
			this.granizado = "N";
	}

	/**
	 * @return the neblinaBool
	 */
	public boolean isNeblinaBool() {
		return neblinaBool;
	}

	/**
	 * @param neblinaBool the neblinaBool to set
	 */
	public void setNeblinaBool(boolean neblinaBool) {
		this.neblinaBool = neblinaBool;
		if(this.neblinaBool)
			this.neblina = "S";
		else
			this.neblina = "N";
	}
}
